import React from 'react';
import ReactDOM from 'react-dom';
import { Spin } from 'antd';
import * as serviceWorker from './serviceWorker';
import Router from './router'
import { Provider } from 'react-redux'
import configureStore from './redux';

import {
  ConfigProvider,
  Pagination,
  DatePicker,
  TimePicker,
  Calendar,
  Popconfirm,
  Table,
  Modal,
  Button,
  Select,
  Transfer,
  Radio,
} from 'antd';

import moment from 'moment';
import 'moment/locale/zh-cn';
import enUS from 'antd/es/locale/en_US';
import zhCN from 'antd/es/locale/zh_CN';

// moment.locale('en')
moment.locale('zh-cn')  //todo 组件默认是英文？如何切回中文==>使用 ConfigProvider 组件来包裹你的应用。如果日期组件的国际化仍未生效，请配置 moment.locale('zh-cn') 并检查你本地的 moment 版本和 antd 依赖的 moment 版本是否一致

//------------------------------------------------------------------------------
const store = configureStore()
ReactDOM.render(
  //todo configureStore() 创建Redux Store对象，管理所有的Redux状态  Provider供应商
  <Provider store={store}>
    <ConfigProvider locale={zhCN} autoInsertSpaceInButton={true}>
      <Router />
    </ConfigProvider>
  </Provider>,
  document.getElementById('root'));
serviceWorker.unregister();
//-------------------------------------------------------------------------------

//todo 部分组件为了支持波纹效果，使用了动态样式。如果开启了 Content Security Policy (CSP)，你可以通过 csp 属性来进行配置：
//todo kim-stamp FQA https://ant.design/docs/react/faq-cn


// API ConfigProvider全局化配置#
// 参数	                          说明	类型	默认值	版本
// autoInsertSpaceInButton	     设置为 false 时，移除按钮中 2 个汉字之间的空格	boolean	true	3.13.0
// csp	                         设置 Content Security Policy 配置	{ nonce: string }	-	3.13.1
// renderEmpty	                 自定义组件空状态。参考 空状态	Function(componentName: string): ReactNode	-	3.12.2
// getPopupContainer	           弹出框（Select, Tooltip, Menu 等等）渲染父节点，默认渲染到 body 上。	Function(triggerNode)	() => document.body	3.11.0
// locale	                       语言包配置，语言包可到 antd/es/locale 目录下寻找	object	-	3.21.0
// prefixCls	                   设置统一样式前缀	string	ant	3.12.0



